iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0
自我挑戰組

30天學習flutter系列 第 13

13.flutter的狀態管理(一)

  • 分享至 

  • xImage
  •  

Flutter狀態管理有許多的方案,像是Provider、BLoc、RiverPod...等,今天簡單介紹一下flutter的狀態管理,之後會介紹一些flutter間狀態共享以及一些工具的使用方式

聲明式框架

Flutter 應用是聲明式框架,並且Flutter所構建的UI就是應用的當前狀態。當應用的狀態發生改變時(ex.用戶點擊按鈕),將會觸發UI的重繪

link
https://ithelp.ithome.com.tw/upload/images/20220928/20108931QTtrDLBHGr.png

短時(ephemeral)和應用(app)狀態

一個應用的狀態就是當這個應用運行時存在於內存中的所有內容。像是用戶界面、動畫狀態、紋理、字體以及其他等等的變量

我們不需要管理一些狀態(ex.紋理),flutter framework本身會替你管理。需要自己管理 的狀態可以分為兩種概念類型:短時(ephemeral)狀態應用(app)狀態

ephemeral state

短時狀態是你可以完全包含在一個獨立widget中的狀態(也稱為用戶界面(UI)狀態或者局部狀態)

ex.一個 PageView widget中的當前頁面、一個複雜動畫中當前進度...

app state

應用狀態是應用中的多個widget之間共享一個非短時的狀態,並且在用戶會話期間保留這個狀態(也稱共享狀態)

ex.登錄訊息、應用中的通知、購物車...等

狀態管理

我們明天會接著依序介紹一些狀態管理的方法:
a)setState
b)InheritedWidget
c)Provider
d)Riverpod


上一篇
12.flutter的布局(五)
下一篇
14.flutter的狀態管理(二)
系列文
30天學習flutter30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言